package com.example.interview.parent_son2;

import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;

public interface ITree2 {
    //查询所有tree + 带有searched功能的  搜索后展示 http://localhost:2080/system/dept/t14
//    @GetMapping("/t14")   // 为了测试方便： .antMatchers("/system/dept/**").anonymous()
    List<SysDept> t14c(SysDept dept) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException, NoSuchFieldException;

    SysDept selectDeptById(long l);

    List<SysDept> useListRecordToTreeByKeywords(List<SysDept> allRecords, String keywords, String... filterFields) throws NoSuchFieldException, NoSuchMethodException, InvocationTargetException, IllegalAccessException;

    List<SysDept> useListRecordToTree42(List<SysDept> allRrecords);

    List<SysDept> getSelfAndTheirParentRecord(List<SysDept> searchLeafList, List<SysDept> resultList,
                                              Map<String, SysDept> filterRecordMap,
                                              Map<String, SysDept> allRecordMap
    );
}
